Samuel Thibault [Tue, 30 Apr 2019 14:45:51 +0000 (16:45 +0200)]
Revert "gdk: deactivate/activate surface on keyboard grabs"
This reverts commits
35417a5a74bfebd69b5c069d7a2f517ba571bcf9 and
01455399e83a3dbafb0cdc6e12c7003b2f472a40.
This reintroduces #85, but see discussion in
https://gitlab.gnome.org/GNOME/gtk/merge_requests/433 for the unforeseen
invasive consequences of these commits.
Timm Bäder [Tue, 30 Apr 2019 04:43:42 +0000 (06:43 +0200)]
filechooserwidget: Only query clock-format setting once
We don't support that setting life-updating anyway. So, instead of
getting the value *every time we format a time*, get it once for the
filechooserwidget and reuse that value.
Timm Bäder [Tue, 30 Apr 2019 03:54:00 +0000 (05:54 +0200)]
Adwaita: Fix active spinbutton button image color
The spinbutton>button>image is currently blue when the image is clicked
and dark-ish when the button is clicked(but not the image). This was not
the case before since we didn't even propagate :active down to the image
child. Fix this by only applying the blue color to direct image children
of entries.
Timm Bäder [Mon, 29 Apr 2019 10:04:25 +0000 (12:04 +0200)]
filechooserwidget: Remove unnecessary deprecation guards
Timm Bäder [Mon, 29 Apr 2019 09:46:54 +0000 (11:46 +0200)]
filechooserwidget: Stop using gtk_widget_get_allocat*
Timm Bäder [Mon, 29 Apr 2019 09:29:23 +0000 (11:29 +0200)]
filechooserwidget: Shorten cancel_all_operations() impl
Timm Bäder [Mon, 29 Apr 2019 09:27:30 +0000 (11:27 +0200)]
filechooserwidget: Shorten dispose impl a bit
Timm Bäder [Mon, 29 Apr 2019 09:23:01 +0000 (11:23 +0200)]
filechooserwidget: Remove some unnecessary show() calls
Widgets are visible by default now.
Timm Bäder [Mon, 29 Apr 2019 09:21:53 +0000 (11:21 +0200)]
filechooserwidget: Use a bin layout
Instead of implementing size_allocate and measure manually.
Timm Bäder [Mon, 29 Apr 2019 09:17:38 +0000 (11:17 +0200)]
filechooserwidget: Shorten finalize implementation a bit
Timm Bäder [Mon, 29 Apr 2019 09:15:19 +0000 (11:15 +0200)]
filechooserwidget: Inline fuction into only caller
Timm Bäder [Mon, 29 Apr 2019 09:07:17 +0000 (11:07 +0200)]
filechooserwidget: Fix rename popover widget alignment
Timm Bäder [Mon, 29 Apr 2019 06:47:24 +0000 (08:47 +0200)]
placesview: Bring spacing in the actionbar back
In particular between the Connect button and the adjacent button/entry
combination.
Timm Bäder [Mon, 29 Apr 2019 06:40:58 +0000 (08:40 +0200)]
filechooserwidget: Pick reasonable default sidebar width
The old default of 148px doesn't work everywhere. Instead, pick a
default value of -1 and measure() the sidebar widget in the
filechooserwidget in that case. Other values >= 0 are still handled as
before.
Timm Bäder [Mon, 29 Apr 2019 06:33:02 +0000 (08:33 +0200)]
filechooserwidget: Delay view switch to search hits
Leave it to the ::hits-added handler to switch to the list of search
hits. This way we don't get a weird transition when the current search
didn't have any hits and the next one doesn't either.
Searches with hits still feel good.
Chun-wei Fan [Tue, 30 Apr 2019 03:35:16 +0000 (03:35 +0000)]
Merge branch 'fix-win32-gl-resize' into 'master'
Fix win32 gl resize
See merge request GNOME/gtk!694
Matthias Clasen [Mon, 29 Apr 2019 19:32:31 +0000 (19:32 +0000)]
Merge branch 'modelbutton-focus' into 'master'
Adwaita: Give model buttons visible focus
See merge request GNOME/gtk!794
Matthias Clasen [Mon, 29 Apr 2019 19:23:09 +0000 (19:23 +0000)]
Merge branch 'frameclock-property' into 'master'
surface: Add a frame-clock property
See merge request GNOME/gtk!791
Matthias Clasen [Fri, 19 Apr 2019 21:33:17 +0000 (21:33 +0000)]
Adwaita: Give model buttons visible focus
Hard to use keynav, otherwise. Also, hard
to debug focus issues if you can't see where
the focus is.
Matthias Clasen [Mon, 22 Apr 2019 01:14:28 +0000 (01:14 +0000)]
surface: Add a frame-clock property
Now that GdkSurface has properties, it makes
sense to turn the frame clock into one too.
This will make it easier to reshuffle some
of the surface constructors later.
Matthias Clasen [Mon, 29 Apr 2019 19:04:49 +0000 (19:04 +0000)]
Merge branch 'tooltip-cleanup' into 'master'
tooltip: Remove an unused gdk_surface_get_root_coords call
See merge request GNOME/gtk!793
Benjamin Otte [Mon, 29 Apr 2019 19:02:21 +0000 (19:02 +0000)]
Merge branch 'window-cursor' into 'master'
window: Set cursor on the right surface
See merge request GNOME/gtk!792
Benjamin Otte [Mon, 29 Apr 2019 19:02:15 +0000 (19:02 +0000)]
Merge branch 'accessible-present' into 'master'
icon view accessible: Stop presenting windows
See merge request GNOME/gtk!790
Matthias Clasen [Mon, 25 Mar 2019 02:41:22 +0000 (22:41 -0400)]
tooltip: Remove an unused gdk_surface_get_root_coords call
The tx and ty variables are not used, so don't
bother setting them.
Matthias Clasen [Fri, 26 Apr 2019 23:48:13 +0000 (23:48 +0000)]
window: Set cursor on the right surface
Set the cursor on the surface of the target
widget, not the surface of some of its parents.
This does not make a difference currently.
But it will in the future, when we have
parented widgets with surfaces.
Matthias Clasen [Mon, 18 Mar 2019 01:27:39 +0000 (21:27 -0400)]
icon view accessible: Stop presenting windows
Thats really not its business.
Matthias Clasen [Mon, 29 Apr 2019 18:42:46 +0000 (18:42 +0000)]
Merge branch 'wayland-grab-fix' into 'master'
wayland: Only check incorrect top-most for grabbing popups
See merge request GNOME/gtk!789
Jonas Ådahl [Wed, 24 Apr 2019 11:33:12 +0000 (13:33 +0200)]
wayland: Only check top-most for grabbing popups
Non-grabbing popups are not limited to a single
nesting stack, as per the spec, so we should not
prevent that on the client-side.
Matthias Clasen [Sat, 20 Apr 2019 00:08:14 +0000 (00:08 +0000)]
wayland: Reshuffle some internals
Make find_grab_input_seat return a GdkWaylandSeat
instead of a struct wl_seat, so we can use it and
avoid calling gdk_display_get_default_seat when
we need to get a serial later.
Jakub Steiner [Mon, 29 Apr 2019 13:06:32 +0000 (15:06 +0200)]
Adwaita: tone down lowres icon aid
Fixes https://gitlab.gnome.org/GNOME/gtk/issues/1818
Alexander Larsson [Mon, 29 Apr 2019 11:42:04 +0000 (11:42 +0000)]
Merge branch 'wip/baedert/fix-gl-debug' into 'master'
Fix GL debugging
See merge request GNOME/gtk!778
Kristjan SCHMIDT [Mon, 29 Apr 2019 06:16:28 +0000 (06:16 +0000)]
Update Esperanto translation
Benjamin Otte [Mon, 29 Apr 2019 00:42:28 +0000 (00:42 +0000)]
Merge branch 'transform-fixes' into 'master'
Small fixes to GskTransform
See merge request GNOME/gtk!660
Emmanuele Bassi [Fri, 22 Mar 2019 13:54:29 +0000 (13:54 +0000)]
Use getters for translation and scaling components
Instead of accessing the matrix cells directly.
Emmanuele Bassi [Fri, 22 Mar 2019 12:39:28 +0000 (12:39 +0000)]
Never compare floats for equality
Floating point values cannot ever be compared for equality. GLib has a
G_APPROX_VALUE macro that lets us compare two value within a provided
precision, so we should use that instead.
Emmanuele Bassi [Fri, 22 Mar 2019 12:38:36 +0000 (12:38 +0000)]
Use matrix equality in GskTransform
Graphene has new API to check for equality, so we should use it instead
of doing a byte-by-byte comparison.
Emmanuele Bassi [Fri, 22 Mar 2019 12:33:13 +0000 (12:33 +0000)]
Update the version of Graphene
We're going to use newly added API soon.
Emmanuele Bassi [Fri, 22 Mar 2019 11:45:57 +0000 (11:45 +0000)]
Use atomic boxing instead of manual refcounting
Artisanal, homegrown, locally sourced, vegan reference counting has been
replaced by the appropriate API in GLib, which does small things like
saturation and type checking.
Matthias Clasen [Sun, 28 Apr 2019 23:51:17 +0000 (23:51 +0000)]
Merge branch 'default-handling' into 'master'
Default handling
See merge request GNOME/gtk!786
Matthias Clasen [Sun, 28 Apr 2019 23:44:07 +0000 (23:44 +0000)]
Fix builder parser tests
The line numbers changed here because we
removed some properties.
Matthias Clasen [Sun, 28 Apr 2019 23:40:57 +0000 (23:40 +0000)]
tests: Fix a default-related test
The test was setting has-default, but testing
receives-default.
Matthias Clasen [Sun, 28 Apr 2019 23:28:39 +0000 (23:28 +0000)]
Drop the can-default property
It was added at a time when default buttons
had a very large external border that would disrupt
aligment. Not a problem nowadays.
Matthias Clasen [Sun, 28 Apr 2019 19:25:31 +0000 (19:25 +0000)]
inspector: Stop showing default widget in misc
This is just a regular window property now,
no need for special casing.
Matthias Clasen [Sat, 27 Apr 2019 03:57:13 +0000 (03:57 +0000)]
widget: Drop gtk_widget_grab_default
The default widget is mostly a dialog concept,
and does not really need this generic api.
If you need to mark a widget as default,
use gtk_window_set_default() directly.
Matthias Clasen [Sat, 27 Apr 2019 03:49:52 +0000 (03:49 +0000)]
widget: Remove special handling for has-default
We used to handle has-default specially in ui
files. It was awkward, so stop doing that. If you
need to influence the default widget in a window,
you can just set the default-widget property.
Matthias Clasen [Sat, 27 Apr 2019 03:47:28 +0000 (03:47 +0000)]
widget-factory: Stop setting has-default in ui files
We can just set the default-widget property. The
special handling for has-default in ui files is
going away.
Matthias Clasen [Sat, 27 Apr 2019 03:20:41 +0000 (03:20 +0000)]
Stop using gtk_widget_grab_default
Replace gtk_widget_grab_default by gtk_window_set_default_widget.
Matthias Clasen [Sun, 28 Apr 2019 18:41:43 +0000 (18:41 +0000)]
Drop gtk_window_activate_default
This api has been replaced by an action that
can be activated with gtk_widget_activate_action.
Matthias Clasen [Sun, 28 Apr 2019 18:33:27 +0000 (18:33 +0000)]
file chooser: Stop using gtk_window_activate_default
Instead, use the new way of activating default.
I think most of the default handling in
GtkFileChooserDialog should be dropped, but
for now this keeps things working.
Matthias Clasen [Sun, 28 Apr 2019 17:34:20 +0000 (17:34 +0000)]
mount operation: Handle default activation via action
Switch to the new way of activating default.
Matthias Clasen [Sun, 28 Apr 2019 18:12:53 +0000 (18:12 +0000)]
entry: Activate default via action
Switch to the new way of activating default.
Matthias Clasen [Sun, 28 Apr 2019 18:12:15 +0000 (18:12 +0000)]
label: Activate default via action
Switch to the new way of activating default.
Matthias Clasen [Sun, 28 Apr 2019 22:31:55 +0000 (22:31 +0000)]
Add gtk_widget_activate_default
This is a convenience wrapper for
activating the "default.activate" action.
Matthias Clasen [Sun, 28 Apr 2019 17:07:05 +0000 (17:07 +0000)]
popover: Add a default.activate action
This is a first example of a widget intercepting
the default.activate for its own handling.
Matthias Clasen [Sat, 27 Apr 2019 03:12:54 +0000 (03:12 +0000)]
window: Add a default.activate action
Activating this action will replace other
activate_default apis. It is more flexible,
since intermediate widgets can intercept the
action and do their own handling.
Matthias Clasen [Sun, 28 Apr 2019 16:54:02 +0000 (16:54 +0000)]
popover: Add a default-widget property
This is part of redoing default widget handling.
Matthias Clasen [Sun, 28 Apr 2019 19:15:11 +0000 (19:15 +0000)]
Rename gtk_window_set_default
Call it gtk_window_set_default_widget, to match
the getter, and the property name. Update all
callers.
Matthias Clasen [Sun, 28 Apr 2019 16:45:22 +0000 (16:45 +0000)]
window: Add a default-widget property
This is a part of redoing default widget handling.
Matthias Clasen [Sun, 28 Apr 2019 18:04:28 +0000 (18:04 +0000)]
widget: Add a convenience api to activate actions
Since actions are used increasingly, we should
have a convenient way to trigger an action in
the context of a widget.
Matthias Clasen [Sun, 28 Apr 2019 23:17:46 +0000 (23:17 +0000)]
Merge branch 'focus-cleanup' into 'master'
Focus cleanup
See merge request GNOME/gtk!788
Matthias Clasen [Sun, 28 Apr 2019 22:55:43 +0000 (22:55 +0000)]
Avoid critical warnings
These critical warnings break the tests, otherwise.
Matthias Clasen [Sun, 28 Apr 2019 19:02:18 +0000 (19:02 +0000)]
Drop gtk_window_activate_focus
This api wasn't used anywhere in GTK. And since
we've dropped the variant for the default widget,
this one should go too. If it is needed, it should
become and action too.
Matthias Clasen [Sun, 28 Apr 2019 22:07:22 +0000 (22:07 +0000)]
widget: Remove special handling of has-focus
We used to handle has-focus in ui files specially.
It was awkward, so stop doing that. If you need
to influence the initial focus of a window, you
can just set the focus-widget property.
Matthias Clasen [Sun, 28 Apr 2019 19:37:41 +0000 (19:37 +0000)]
window: Fix up the buildable implementation
We were assuming that the parent class has a custom
set_property, which may not be the case. Be more
careful.
Matthias Clasen [Sun, 28 Apr 2019 22:03:31 +0000 (22:03 +0000)]
Merge branch 'inspector-prop-sort' into 'master'
inspector: Make property list sortable again
See merge request GNOME/gtk!787
Matthias Clasen [Sun, 28 Apr 2019 21:56:10 +0000 (21:56 +0000)]
inspector: Make property list sortable again
We lost this when moving from a treeview to
a listbox. Bring it back, with homegrown list
headers.
Matthias Clasen [Sun, 28 Apr 2019 16:16:31 +0000 (16:16 +0000)]
Merge branch 'file-chooser-location-escape' into 'master'
file chooser: Stay focused
Closes #1851
See merge request GNOME/gtk!785
Matthias Clasen [Sun, 28 Apr 2019 16:08:21 +0000 (16:08 +0000)]
file chooser: Stay focused
When hitting Escape in the location entry,
we were not moving the focus anywhere,
causing focus to be NULL, and key bindings
to stop working. The visible effect was
that Ctrl-L / Escape / Ctrl-L would not
get back to the location entry, as expected.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1851
Matthias Clasen [Sun, 28 Apr 2019 15:33:07 +0000 (15:33 +0000)]
Merge branch 'wip/baedert/filechooser2' into 'master'
Assorted filechooser improvements
See merge request GNOME/gtk!783
Matthias Clasen [Sun, 28 Apr 2019 15:27:51 +0000 (15:27 +0000)]
Merge branch 'file-chooser-escape' into 'master'
file chooser: Prevent accidental search
Closes #1850
See merge request GNOME/gtk!784
Matthias Clasen [Sun, 28 Apr 2019 15:17:32 +0000 (15:17 +0000)]
file chooser: Prevent accidental search
When hitting Escape, the file chooser will go
into search mode, because the search entry
consumes the key to emit the ::search-stopped
signal. Recognize this situation and avoid
switching to search mode in this case.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1850
Timm Bäder [Sun, 28 Apr 2019 09:30:13 +0000 (11:30 +0200)]
filechooserwidget: Use a center box for the search entry
This way we can avoid a slight position offset when we show or hide the
spinner during a search.
Timm Bäder [Sun, 28 Apr 2019 09:27:42 +0000 (11:27 +0200)]
filechooserwidget: Allow keynav from the treeview to the search entry
Timm Bäder [Sun, 28 Apr 2019 09:27:21 +0000 (11:27 +0200)]
window: Check whether the new focus widget is the old one
We generally do that for all properties.
Timm Bäder [Sun, 28 Apr 2019 09:26:40 +0000 (11:26 +0200)]
treeview: Don't always grab_focus() when moving the cursor
This doesn't really make sense, we can assume that the treeview already
has the focus when it receives key events.
Timm Bäder [Sun, 28 Apr 2019 09:08:09 +0000 (11:08 +0200)]
filechooserwidget: Remove unneeded function prototype
Timm Bäder [Sun, 28 Apr 2019 09:07:14 +0000 (11:07 +0200)]
filechooserwidget: Don't focus treeview when searching
It's just weird that the search entry does not have focus while we type.
Timm Bäder [Sun, 28 Apr 2019 09:05:37 +0000 (11:05 +0200)]
filechooserwidget: Remove some GdkEvent usage
Timm Bäder [Sun, 28 Apr 2019 09:02:59 +0000 (11:02 +0200)]
filechooserbutton: Remove some dead code
Timm Bäder [Sun, 28 Apr 2019 08:55:10 +0000 (10:55 +0200)]
colorbutton: Remove unneeded snapshot implementation
Timm Bäder [Sun, 28 Apr 2019 08:34:47 +0000 (10:34 +0200)]
Adwaita: Bring filechooserbutton spacing back
Add some space between the icons and the text, like there was in gtk3.
Timm Bäder [Sun, 28 Apr 2019 06:30:18 +0000 (08:30 +0200)]
entry: Fix primary icon allocation in RTL entries
The primary icon is on the right in RTL, so don't offset the text child
to the right for it.
Fixes the text and icon overlapping in the second entry
in tests/testentryicons
Timm Bäder [Sun, 28 Apr 2019 05:46:17 +0000 (07:46 +0200)]
gl renderer: Add simple blend node implementation
Timm Bäder [Sun, 28 Apr 2019 04:54:10 +0000 (06:54 +0200)]
treeview: Always update expand when allocating columns
It doesn't make sense to keep track of all the last_* values anymore now
that widgets only get allocated when their size changes anyway.
Remove all the associated (and thus now unused) flags as well.
Timm Bäder [Sun, 28 Apr 2019 04:50:57 +0000 (06:50 +0200)]
treeview: Remove a useless check
Timm Bäder [Sun, 28 Apr 2019 04:45:33 +0000 (06:45 +0200)]
treeview: Remove unused member
Matthias Clasen [Sat, 27 Apr 2019 18:09:57 +0000 (18:09 +0000)]
Merge branch 'popover-demos' into 'master'
Popover demos
See merge request GNOME/gtk!782
Matthias Clasen [Sat, 27 Apr 2019 18:00:22 +0000 (18:00 +0000)]
widget-factory: Make a resizing popover
Add an expander to a popover to test how
changing sizes works with popovers.
Matthias Clasen [Sat, 27 Apr 2019 17:52:02 +0000 (17:52 +0000)]
Merge branch 'file-chooser-search' into 'master'
file chooser: Fix Ctrl-L
Closes #1829
See merge request GNOME/gtk!781
Matthias Clasen [Tue, 23 Apr 2019 19:00:44 +0000 (19:00 +0000)]
widget-factory: Add some nested popovers
These are mainly for stress-testing our
popover implementations.
Matthias Clasen [Mon, 22 Apr 2019 15:36:42 +0000 (15:36 +0000)]
widget-factory: Add non-modal popovers
This makes is easy to test moving the toplevel
or repositioning the parent while the popover
is shown.
Matthias Clasen [Sat, 27 Apr 2019 17:43:59 +0000 (17:43 +0000)]
file chooser: Fix Ctrl-L
We were forwarding key events to the search entry
and unconditionally considered search started
afterwards. That is not correct, since things
like a Ctrl key press should not trigger search.
Fix this by only switching to search mode when
the event was actually consumed.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1829
Matthias Clasen [Sat, 27 Apr 2019 16:08:53 +0000 (16:08 +0000)]
Merge branch 'font-chooser-search' into 'master'
fontchooser: Fix type-to-search
Closes #1842
See merge request GNOME/gtk!780
Matthias Clasen [Sat, 27 Apr 2019 15:59:45 +0000 (15:59 +0000)]
fontchooser: Fix type-to-search
The key capture was interfering with other
entries in the dialog, so be smarter about
when we want to capture keys and when we
don't.
Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1842
Timm Bäder [Sat, 27 Apr 2019 07:50:21 +0000 (09:50 +0200)]
gl renderer: Move texture labeling below initialization
Apparently genTextures and friends only "reserves names", initializing
them will actually create them. Using glObjectLabel on textures before
initializing them will throw a GL_INVALID_VALUE error.
Timm Bäder [Sat, 27 Apr 2019 07:49:41 +0000 (09:49 +0200)]
gdkglcontext: Limit gl debug label length
There's a maximum length we have to adhere to, otherwise GL throws a
GL_INVALID_VALUE error.
Timm Bäder [Sat, 27 Apr 2019 06:20:30 +0000 (08:20 +0200)]
searchentry: Always measure and allocate icon
Just measuring it (so the warning goes away) but then not using the
values will later underallocate the text widget.
Instead, always reserve space for the icon (which will inevitable be
visible as soon as the searchentry is actually being used).
Fixes #1831
Timm Bäder [Sat, 27 Apr 2019 06:12:46 +0000 (08:12 +0200)]
Adwaita: separate '.view text' from textview>text
The first rule breaks GtkText inside GtkSearchEntry inside something
that has .view applied, as found in the file chooser when searching.
Benjamin Otte [Sat, 27 Apr 2019 03:06:30 +0000 (05:06 +0200)]
testsuite: Rewrite text diff to use GSubprocess
... instead of g_spawn(). Avoids having to create a temp file, too.
Timm Bäder [Wed, 24 Apr 2019 12:25:54 +0000 (14:25 +0200)]
gl renderer: bind the texture framebuffer before rendering
When rendering to a texture, collecting the render ops might bind a
different framebuffer, so bind the one we want again before doing the
actual rendering.